package com.wondertek.poms.service.vo;

import com.wondertek.poms.common.utils.validate.GroupType;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;
import java.util.Set;

/**
 * @author evan0213
 * @description
 */
@Data
public class PrdInfoRuleVo {

	@NotNull(message = "商品包规则id不能为空", groups = {GroupType.Update.class})
	private Long prdRuleId; //id

	private Long copyRightCpId;  //版权所属CPID

	private String firstClassify;  //一级分类  多个以英文逗号拼接
	@NotNull(message = "商品包id不能为空", groups = {Default.class, GroupType.Update.class})
	private Long prdInfoId;  //商品包ID

	private String copyRightScope;  //版权授权范围

	private Integer output;  //是否可输出

	private String freeType;  // 资费类型 1 不限 2 收费 3 仅支持按次 4免费  多个以英文逗号拼接

	@NotNull(message = "规则类型不能为空", groups = {Default.class, GroupType.Update.class})
	private Integer isprdSel;// 规则类型 1-待选，2-已选，3-释放, 4-限制

	private String copytypeTal;  //版权终端  多个以英文逗号拼接

	private String assist; // 辅助分类 多个以英文逗号拼接

	@Range(min = 0, max = 1, message = "是否最优必须为数字0或者1", groups = {Default.class, GroupType.Update.class})
	private Integer optimal; //是否最优 0 是 1 否

	private Integer nameFlag; // 0 是 1 否

	private String category; // 内容类别1-视频;2-音频;3-图文

	private Integer onlineFrom;// 上线时间，从..

	private Integer onlineTo;// 上线时间，到..

	private Integer onlineType;// 上线时间，1天2月3年

	private Integer firstPlayFrom;// 首播时间，从..

	private Integer firstPlayTo;// 首播时间，到..

	private Integer firstPlayType;// 首播时间，1天2月3年

	private Integer firstRunFrom;// 首映时间，从..

	private Integer firstRunTo;// 首映时间，到..

	private Integer firstRunType;// 首映时间，1天2月3年

	private Long targetPrdInfo;// 目标产品包,仅释放规则有效

	private String copyrightType;// 版权类型1-强版权，2-弱版权

	private String needDRM;// 内容数字版权加密保护技术 0:是;1:否;null:否

	private String hasVideo;// 是否包含媒体文件

	private String recommendation; // 推荐标签   多个以英文逗号拼接

	private String contentLevel; // 内容评级(S、A+、A、B+、B、C)

	private String formType;  //剧集类型  多个以英文逗号拼接

	private String copyRightArea; // 版权地域范围 枚举值：1-内地；2-香港；3-澳门；4-台湾；5-海外；6-全球；11-江苏；20-广东  多个以英文逗号拼接

	private String mediaUsageCode;// 码率,多个以英文逗号分隔

	private String authorizationWay;//授权方式 1、单片授权2、集体授权3、频道授权4、三方SDK播放授权

	private Set<PrdRuleSecondClassifyVo> secondClassifys;  //二级分类
}
